/**
 * 分别用 Safari 和 Chrome 打开试试
 */

const noSafariMiddleware = () => {
  return async (ctx, next) => {
    const source = ctx.get('user-agent') || ''
    // 当某个 Middleware 文件的名称与 config 中某个属性名一致时，Middleware 会自动把这个属性下的所有配置读取过来
    const config = ctx.app.config

    const match = config.noSafari.ua.some(ua => ua.test(source))
    if (match) {
      ctx.status = 403
      ctx.message = 'Go away, you are Safari.'
    }
    else {
      await next()
    }
  }
}

export default noSafariMiddleware